#include "Matrix.h"

#ifndef MatrixMultiply_H
#define MatrixMultiply_H

class MatrixMultiply
{
private:
	Matrix const & m_matA;
	Matrix const & m_matB;
	Matrix       & m_matC;	
	const int n;
	const int m_lda;
	const int m_ldb;
	const int m_ldc;
	double const *m_pMatA;
	double const *m_pMatB;
	double       *m_pMatC;
public:
	MatrixMultiply(Matrix const *matA, Matrix const *matB, Matrix *matC);
//	MatrixMultiply(void);
	~MatrixMultiply(void);
	void calcNaive();
	void cblas_myDdot();
	void cblas_myDaxpy();
	void cblas_myDGEMV();
	void cblas_myDGEMM();
};

#endif
